<?php
class Funcionario extends AppModel {
    var $useDbConfig = 'seguridad';
    var $name = 'Funcionario';
    var $useTable = 'funcionarios';
    var $primaryKey = 'id';
    var $belongsTo = array('Organizacion');
    var $order = "Funcionario.cedula ASC, Funcionario.nombre ASC";

    function buscar_funcionarios($parametros) {
        extract($parametros);
        $condiciones = array();
        if (!empty($nombre))
            $condiciones['UPPER(Funcionario.nombre) like '] = '%' . $nombre . '%';
        if (!empty($apellido))
            $condiciones['UPPER(Funcionario.apellido) like '] = '%' . $apellido . '%';
        if (!empty($cedula))
            $condiciones['UPPER(Funcionario.cedula) like '] = '%' . $cedula . '%';
        if (!empty($ficha))
            $condiciones['UPPER(Funcionario.ficha) like '] = '%' . $ficha . '%';
        if (!empty($sexo))
            $condiciones['UPPER(Funcionario.sexo) like '] = '%' . $sexo . '%';
        if (!empty($organizacion))
            $condiciones['UPPER(Organizacion_id.nombre) like '] = '%' . $organizacion . '%';
        if (!empty($fecha_nacimiento)) {
            if (is_array($fecha)) {
                if (!isset($fecha[1]))
                    $fecha[1] = $fecha[0];
                $fi = $fecha[0];
                $ff = $fecha[1];
            }
            else {
                $fi = $fecha;
                $ff = $fecha;
            }
            $condiciones['UPPER(Funcionario_id.fecha_nacimiento between ? and ?) like '] = array($fi, $ff);
        }
        if (count($parametros) > 0 and count($condiciones) == 0) {
            $ids = null;
        } else {
            $res = $this->find('all', array('fields' => array('Funcionario.id'), 'conditions' => $condiciones));
            $ids = array();
            $ids[] = 0;
            for ($j = 0; $j < count($res); $j++) {
                $ids[] = $res[$j]['Funcionario']['id'];
            }
        }
        return $ids;
    }

}

?>
